<html>
<head><meta charset="utf-8"><title>ide design meeting · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html">ide design meeting</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="156377435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156377435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156377435">(Jan 18 2019 at 15:46)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span>, <span class="user-mention" data-user-id="133169">@Aleksey Kladov</span> -- when should we discuss? on Zulip or over some video thing? Also, let's discuss how to coordinate "current design review"</p>



<a name="156377493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156377493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156377493">(Jan 18 2019 at 15:46)</a>:</h4>
<p>zulip SGTM</p>



<a name="156377626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156377626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156377626">(Jan 18 2019 at 15:48)</a>:</h4>
<p>I'm fine with whichever</p>



<a name="156377632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156377632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156377632">(Jan 18 2019 at 15:48)</a>:</h4>
<p>we'd do that <em>before</em> AH, right?</p>



<a name="156377665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156377665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156377665">(Jan 18 2019 at 15:48)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> do we know how many slots (and which specifically) we aim for during the AH?</p>



<a name="156377667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156377667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156377667">(Jan 18 2019 at 15:48)</a>:</h4>
<p>I must say I am slightly confused atm about what we should discuss when.</p>
<p>I am personally ready to discuss anything at any time, of course :-)</p>
<p>My current understanding is that we </p>
<ul>
<li>have a short IDE sync-up meeting <strong>right now</strong></li>
<li>ideally prepare an offline review of rust-analyzer/RLS <em>before</em> all hands.</li>
<li>discuss on all hands at lenght</li>
</ul>



<a name="156377690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156377690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156377690">(Jan 18 2019 at 15:49)</a>:</h4>
<p>I saw "WG: RLS (now IDEs?), "rustc &lt;-&gt; RLS" - anything else?</p>



<a name="156377745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156377745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156377745">(Jan 18 2019 at 15:49)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@Aleksey Kladov</span> that sounds good, yeah</p>



<a name="156378176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378176">(Jan 18 2019 at 15:55)</a>:</h4>
<p>yes so I specifically meant: I want to figure out what are the "crucial bits of the design" that we should discuss <em>in detail</em> at the all hands</p>



<a name="156378206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378206">(Jan 18 2019 at 15:55)</a>:</h4>
<p>see also <a href="#narrow/stream/131828-t-compiler/topic/steering.20meeting.202019-01-17/near/156378043" title="#narrow/stream/131828-t-compiler/topic/steering.20meeting.202019-01-17/near/156378043">this most recent comment</a> :)</p>



<a name="156378212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378212">(Jan 18 2019 at 15:55)</a>:</h4>
<p>does that sound reasonable?</p>



<a name="156378485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378485">(Jan 18 2019 at 15:58)</a>:</h4>
<p>somewhat :) "crucial bits" sounds to vague. What I think crucial bits are "quries from the ground up", "analyzing interdependent crates together", "full-fidelity syntax trees", "divorce from batch compilation model in favor of <code>here's the static set of crates with dependencies, analyze</code> ".</p>



<a name="156378538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378538">(Jan 18 2019 at 15:59)</a>:</h4>
<p>well, making it less vague is exactly what I wanted to discuss</p>



<a name="156378545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378545">(Jan 18 2019 at 15:59)</a>:</h4>
<p>I'm happy to talk now, I don't envision this being a huge conversation :)</p>



<a name="156378623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378623">(Jan 18 2019 at 16:00)</a>:</h4>
<p>I guess I would say first off what are some "key challenges" in terms of features to support:</p>
<ul>
<li>completions</li>
<li>find all references</li>
<li>fixes support (edit, suggested by matklad below)</li>
</ul>



<a name="156378625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378625">(Jan 18 2019 at 16:00)</a>:</h4>
<p>Oh, one more curcial bit: "pure (as in, absolutelly no IO) analyzis"</p>



<a name="156378648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378648">(Jan 18 2019 at 16:00)</a>:</h4>
<p>those feel like two important-ish cases to me, completions requiring us to bring all the type-checker etc to bear in a local fashion, find all references being the key to a lot of other random stuff (though not very hard)</p>



<a name="156378717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378717">(Jan 18 2019 at 16:01)</a>:</h4>
<p>but some of the key questions then might be:</p>
<ul>
<li>what are the "base inputs" to the analysis? (edit: suggested by matklad below)</li>
<li>how will we represent source text of input files?</li>
<li>how to reason about crates?</li>
<li>what is relationship to cargo?</li>
<li>what do our syntax trees look like</li>
<li>how do we handle things from <a href="http://crates.io" target="_blank" title="http://crates.io">crates.io</a>? (edit: added later)</li>
</ul>



<a name="156378747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378747">(Jan 18 2019 at 16:01)</a>:</h4>
<p>I'll add "fixes support". Modifing source code is a separate bin of requirenments</p>



<a name="156378818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378818">(Jan 18 2019 at 16:02)</a>:</h4>
<blockquote>
<p>how will we represent source text of input files?</p>
</blockquote>
<p>I'd start more broadly, "what are the inputs to analysis"?</p>



<a name="156378828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378828">(Jan 18 2019 at 16:02)</a>:</h4>
<p>yeah</p>



<a name="156378856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378856">(Jan 18 2019 at 16:03)</a>:</h4>
<p>that feels connected to the cargo question, too</p>



<a name="156378864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378864">(Jan 18 2019 at 16:03)</a>:</h4>
<p>one of the things that jntrnr has been saying to me is that we may want to rethink the cargo-rustc layering</p>



<a name="156378875"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378875" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378875">(Jan 18 2019 at 16:03)</a>:</h4>
<p>though I feel like that's potentially out of scope for 2021</p>



<a name="156378886"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378886" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378886">(Jan 18 2019 at 16:04)</a>:</h4>
<p>yeah, and this also a point where I disagree most significantly with what rls is doing :)</p>



<a name="156378939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378939">(Jan 18 2019 at 16:04)</a>:</h4>
<p>yes, I wanted to dig more into that very thing -- though prob not this second</p>



<a name="156378966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378966">(Jan 18 2019 at 16:04)</a>:</h4>
<blockquote>
<p>though I feel like that's potentially out of scope for 2021</p>
</blockquote>
<p>mostly I mean we've got a lot of rewriting on our hands, I want to see where we can limit things :)</p>



<a name="156378999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156378999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156378999">(Jan 18 2019 at 16:05)</a>:</h4>
<p>coming back to important questions:</p>
<p>I am not super sure that "find all refs" is super imoportant. In intelliJ, this basically works as "for each ref, resolve and check that the result matches the input declaration"</p>



<a name="156379012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379012">(Jan 18 2019 at 16:05)</a>:</h4>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> what do you think of the above lists? are there key questions that determine the end design that seem to be missing to you?</p>



<a name="156379020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379020">(Jan 18 2019 at 16:05)</a>:</h4>
<blockquote>
<p>coming back to important questions:</p>
<p>I am not super sure that "find all refs" is super imoportant. In intelliJ, this basically works as "for each ref, resolve and check that the result matches the input declaration"</p>
</blockquote>
<p>yeah, maybe not</p>



<a name="156379051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379051">(Jan 18 2019 at 16:06)</a>:</h4>
<p>I feel like it's one of the foundational <em>operations</em>, but it's also a relatively easy one</p>



<a name="156379070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379070">(Jan 18 2019 at 16:06)</a>:</h4>
<p>I guess if we want to dig a bit deeper, some things that come to mind are:</p>



<a name="156379072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379072">(Jan 18 2019 at 16:06)</a>:</h4>
<ul>
<li>how to manage name resolution, macro expansion</li>
</ul>



<a name="156379076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379076">(Jan 18 2019 at 16:06)</a>:</h4>
<p>And I'd love to add</p>
<p>"find all symbols whose name match regex" -- again, at least in Intellij/rust analyzer it's a separate indexing infra</p>



<a name="156379145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379145">(Jan 18 2019 at 16:07)</a>:</h4>
<p><em>maybe</em>  </p>
<ul>
<li>how does trait resolution fit in</li>
</ul>
<p>though it certainly touches on chalk, and I'm not sure ultimately how important it is</p>



<a name="156379148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379148">(Jan 18 2019 at 16:07)</a>:</h4>
<p>A not so-high level, but very important thing is </p>
<p>"how to map from internal data structures back to raw syntax".</p>



<a name="156379154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379154">(Jan 18 2019 at 16:07)</a>:</h4>
<p>actually yes</p>



<a name="156379157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379157">(Jan 18 2019 at 16:07)</a>:</h4>
<p>that seems very important</p>



<a name="156379196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379196">(Jan 18 2019 at 16:08)</a>:</h4>
<p>Yep, trait resolution is super interesting, because it's non-local</p>



<a name="156379206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379206">(Jan 18 2019 at 16:08)</a>:</h4>
<p>in particular, one of the big topics we've gone around and around on is maintaining the <em>link</em> between various IRs</p>



<a name="156379217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379217">(Jan 18 2019 at 16:08)</a>:</h4>
<blockquote>
<p>Yep, trait resolution is super interesting, because it's non-local</p>
</blockquote>
<p>right, so that <em>part</em> of things (e.g., finding potentially interesting impls) is sort of orthogonal to chalk and something I've not though esp hard about</p>



<a name="156379222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379222">(Jan 18 2019 at 16:08)</a>:</h4>
<blockquote>
<p>in particular, one of the big topics we've gone around and around on is maintaining the <em>link</em> between various IRs</p>
</blockquote>
<p>the general consensus here seems to be spans</p>



<a name="156379225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379225">(Jan 18 2019 at 16:08)</a>:</h4>
<p>Yeah, I've actually crystalized a consept of <code>SourceMap</code> for rust-analyzer basicaly today</p>



<a name="156379250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379250">(Jan 18 2019 at 16:09)</a>:</h4>
<p>I guess for that matter, how the type-checker should work is sort of on that list</p>



<a name="156379260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379260">(Jan 18 2019 at 16:09)</a>:</h4>
<p>it's a big topic</p>



<a name="156379262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379262">(Jan 18 2019 at 16:09)</a>:</h4>
<p>Not sure actually...</p>



<a name="156379266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379266">(Jan 18 2019 at 16:09)</a>:</h4>
<p>typechecking is local</p>



<a name="156379272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379272">(Jan 18 2019 at 16:09)</a>:</h4>
<p>Yeah, sorry for being so 'remote', just got through most of the stuff</p>



<a name="156379281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379281">(Jan 18 2019 at 16:10)</a>:</h4>
<p>so it can be almost arbitrary slow, etc, and still work fine with IDE</p>



<a name="156379294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379294">(Jan 18 2019 at 16:10)</a>:</h4>
<p>yah, ok, I'd rathe rkeep it off</p>



<a name="156379330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379330">(Jan 18 2019 at 16:10)</a>:</h4>
<p>well</p>



<a name="156379336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379336">(Jan 18 2019 at 16:10)</a>:</h4>
<p>it is needed for completions potentially</p>



<a name="156379346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379346">(Jan 18 2019 at 16:10)</a>:</h4>
<p>or maybe that's a false assumption on my part :)</p>



<a name="156379350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379350">(Jan 18 2019 at 16:10)</a>:</h4>
<p>The 'what's the input' is a rather important question, yeah</p>



<a name="156379353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379353">(Jan 18 2019 at 16:10)</a>:</h4>
<p>It is needed, yes, but you need to typechek only a single function body</p>



<a name="156379362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379362">(Jan 18 2019 at 16:10)</a>:</h4>
<p>but regardless, I don't know that it's <em>foundational</em>, I do think it's a potentially important thing to talk out for what "Rust 2021" looks like maybe, but perhaps a second order concern</p>



<a name="156379368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379368">(Jan 18 2019 at 16:10)</a>:</h4>
<p>Are we talking about incrementality of type chekcing now?</p>



<a name="156379384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379384">(Jan 18 2019 at 16:11)</a>:</h4>
<p>I am assuming that we will not try to be incremental when doing type-checking <em>within</em> a fn per se</p>



<a name="156379393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379393">(Jan 18 2019 at 16:11)</a>:</h4>
<p>though there are designs that allow for that</p>



<a name="156379400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379400">(Jan 18 2019 at 16:11)</a>:</h4>
<p>I meant establishing a boundary, like per-fn-boundary :)</p>



<a name="156379403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379403">(Jan 18 2019 at 16:11)</a>:</h4>
<p>ah. yes.</p>



<a name="156379408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379408">(Jan 18 2019 at 16:11)</a>:</h4>
<p>we have that now, even.</p>



<a name="156379413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379413">(Jan 18 2019 at 16:11)</a>:</h4>
<p>In any case, I believe it'd be good to settle on what are the inputs</p>



<a name="156379465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379465">(Jan 18 2019 at 16:12)</a>:</h4>
<p>and, albeit more philosophical, what's a 'crate'</p>



<a name="156379482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379482">(Jan 18 2019 at 16:12)</a>:</h4>
<p>I can describe briefly the inputs to rust-analyzer. I think they more or less makes sense</p>



<a name="156379484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379484">(Jan 18 2019 at 16:12)</a>:</h4>
<p>As a side note it's confusing since Cargo has packages, which it calls crates, which actually can contain "targets" which are "crates" per rustc's definition (compilation unit)</p>



<a name="156379485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379485">(Jan 18 2019 at 16:12)</a>:</h4>
<p>so to reiterate our list of things it was sort of like</p>
<p>but some of the key questions then might be:</p>
<ul>
<li>what are the "base inputs" to the analysis? </li>
<li>how will we represent source text of input files?</li>
<li>how to reason about crates?</li>
<li>what is relationship to cargo?</li>
<li>what do our syntax trees look like</li>
<li>how do we handle things from <a href="http://crates.io" target="_blank" title="http://crates.io">crates.io</a>? (edit: added later)</li>
<li>how do we maintain links between IRs, map back to source text?</li>
<li>how to manage name resolution, macro expansion</li>
<li>how to find impls and manage trait resolution</li>
<li>where are the distinct processes and how long do they live</li>
<li>what are the incrementality boundaries?</li>
</ul>



<a name="156379526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379526">(Jan 18 2019 at 16:13)</a>:</h4>
<p>starting to feel like a long-ish list but I guess what we're grasping for here is kind of the "whiteboard design sketch"</p>



<a name="156379534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379534">(Jan 18 2019 at 16:13)</a>:</h4>
<p>It'd be good to talk about rustc-as-a-deamon interface/approach</p>



<a name="156379545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379545">(Jan 18 2019 at 16:13)</a>:</h4>
<p>yeah, I was wondering if we should discuss e.g. "where are the processes"</p>



<a name="156379548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379548">(Jan 18 2019 at 16:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> : add "what are incrementality boundaries?"</p>



<a name="156379549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379549">(Jan 18 2019 at 16:13)</a>:</h4>
<p>rather than one-off 'do your job' batch approach it takes now</p>



<a name="156379608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379608">(Jan 18 2019 at 16:14)</a>:</h4>
<p>I mean, should we try to make "fixed point import resolution and macro expansion" incremental?</p>



<a name="156379612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379612">(Jan 18 2019 at 16:14)</a>:</h4>
<p>I have a specific question on that :)</p>



<a name="156379622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379622">(Jan 18 2019 at 16:14)</a>:</h4>
<p>I have so many questions about that....</p>



<a name="156379623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379623">(Jan 18 2019 at 16:14)</a>:</h4>
<p>to do so may require a different approach from salsa</p>



<a name="156379626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379626">(Jan 18 2019 at 16:14)</a>:</h4>
<p>though..hmm</p>



<a name="156379627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379627">(Jan 18 2019 at 16:14)</a>:</h4>
<p>differential dataflow could probably model it</p>



<a name="156379639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379639">(Jan 18 2019 at 16:14)</a>:</h4>
<p>I guess if we knew what it did, that would help :P</p>



<a name="156379647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379647">(Jan 18 2019 at 16:15)</a>:</h4>
<p>I hope that it'll be "fast enough"</p>



<a name="156379649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379649">(Jan 18 2019 at 16:15)</a>:</h4>
<p>this may be an interesting use case for differential-dataflow, I should return to that</p>



<a name="156379693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379693">(Jan 18 2019 at 16:15)</a>:</h4>
<blockquote>
<p>"what it did"</p>
</blockquote>
<p>it == "differentail dataflow" or it == "rust name resolution"?</p>



<a name="156379704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379704">(Jan 18 2019 at 16:15)</a>:</h4>
<p>/s</p>



<a name="156379829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379829">(Jan 18 2019 at 16:17)</a>:</h4>
<p>the latter</p>



<a name="156379837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379837">(Jan 18 2019 at 16:17)</a>:</h4>
<p>I mean it's not <em>magic</em></p>



<a name="156379847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379847">(Jan 18 2019 at 16:17)</a>:</h4>
<p>you never know...</p>



<a name="156379852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379852">(Jan 18 2019 at 16:17)</a>:</h4>
<p>heh</p>



<a name="156379969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379969">(Jan 18 2019 at 16:19)</a>:</h4>
<p>well, ok, this seems like a great starting point</p>



<a name="156379970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379970">(Jan 18 2019 at 16:19)</a>:</h4>
<p>I'm slowly approaching this but boy it's hard to dig into a 5k LOC <a href="http://lib.rs" target="_blank" title="http://lib.rs">lib.rs</a> full of edge cases <span class="emoji emoji-1f63f" title="crying cat">:crying_cat:</span></p>



<a name="156379973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379973">(Jan 18 2019 at 16:19)</a>:</h4>
<p>though I have to collect our latest additions</p>



<a name="156379986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379986">(Jan 18 2019 at 16:19)</a>:</h4>
<p>My current hope is that, if we cache macro expansions (which should be easy, key is (token set, macro def), value is (token set)), then just running the whole fixed point thing for the whole crate will be fast enough, and needs to be run only rarely (when adding new top-level items).</p>



<a name="156379997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156379997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156379997">(Jan 18 2019 at 16:19)</a>:</h4>
<p>(yes, I sort of hope that too)</p>



<a name="156380039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380039">(Jan 18 2019 at 16:20)</a>:</h4>
<p>so let's just briefly talk about the "reading material"</p>



<a name="156380067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380067">(Jan 18 2019 at 16:20)</a>:</h4>
<p>do you all plan to produce a design doc describing rust-analyzer / RLS?</p>



<a name="156380069"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380069" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380069">(Jan 18 2019 at 16:20)</a>:</h4>
<p>video?</p>



<a name="156380086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380086">(Jan 18 2019 at 16:20)</a>:</h4>
<p>we could do a recorded, interactive session</p>



<a name="156380087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380087">(Jan 18 2019 at 16:20)</a>:</h4>
<p>I'm fine with a design doc/architectural overview</p>



<a name="156380094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380094">(Jan 18 2019 at 16:20)</a>:</h4>
<p>but really whatever you want is fine</p>



<a name="156380098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380098">(Jan 18 2019 at 16:20)</a>:</h4>
<p>I plan to do a doc + (if I am on a roll) a screencast</p>



<a name="156380107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380107">(Jan 18 2019 at 16:20)</a>:</h4>
<p>I don't think it has to be like mega thorough, just hit the high-level picture</p>



<a name="156380112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380112">(Jan 18 2019 at 16:20)</a>:</h4>
<p>if it's too long nobody will read anyway :P</p>



<a name="156380164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380164">(Jan 18 2019 at 16:21)</a>:</h4>
<p>That's the design talk, but - do we plan to talk about merging/overlapping the compiler and IDE team?</p>



<a name="156380255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380255">(Jan 18 2019 at 16:22)</a>:</h4>
<p>Since I feel we're kind of unnecessarily split too much, if that makes sense</p>



<a name="156380263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380263">(Jan 18 2019 at 16:22)</a>:</h4>
<p>I also agree</p>



<a name="156380269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380269">(Jan 18 2019 at 16:22)</a>:</h4>
<p>honestly, I would be happy to just mergre them completely</p>



<a name="156380292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380292">(Jan 18 2019 at 16:23)</a>:</h4>
<p>I don't want to step on any toes</p>



<a name="156380304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380304">(Jan 18 2019 at 16:23)</a>:</h4>
<p>I'm also happy to just have a lot of overlap and maybe distinct teams :)</p>



<a name="156380317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380317">(Jan 18 2019 at 16:23)</a>:</h4>
<p>but I feel like the trend is going to be that RLS + rustc are more and more indistinguishable</p>



<a name="156380325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380325">(Jan 18 2019 at 16:23)</a>:</h4>
<p>FWIW I think Nick also was for the merge</p>



<a name="156380328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380328">(Jan 18 2019 at 16:23)</a>:</h4>
<p>and I think we should all be thinking of IDE as the primary mode of execution, and batch secondary</p>



<a name="156380335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380335">(Jan 18 2019 at 16:23)</a>:</h4>
<p>ok, honestly my main concern was upsetting <em>you</em>, so if you are in favor =)</p>



<a name="156380381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380381">(Jan 18 2019 at 16:24)</a>:</h4>
<p>well you and other RLS folks</p>



<a name="156380383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380383">(Jan 18 2019 at 16:24)</a>:</h4>
<p>Yup! Sounds reasonable</p>



<a name="156380389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380389">(Jan 18 2019 at 16:24)</a>:</h4>
<p>I also wonder how I fit into all of this organizationally...</p>
<p>I've been building "my own IDE thing" for the last n years, and that certainly feels suboptimal.</p>



<a name="156380399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380399">(Jan 18 2019 at 16:24)</a>:</h4>
<p>so in that case, we had talked about an "organizational meeting"</p>



<a name="156380405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380405">(Jan 18 2019 at 16:24)</a>:</h4>
<p>this <em>maybe</em> fits in there</p>



<a name="156380407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380407">(Jan 18 2019 at 16:24)</a>:</h4>
<p>but maybe it deserves its own topic</p>



<a name="156380437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380437">(Jan 18 2019 at 16:25)</a>:</h4>
<p>that is, the "RLS"-proper probably winds up being not dissimilar from other "crates in the rustc orbit" that we have to maintain well</p>



<a name="156380445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380445">(Jan 18 2019 at 16:25)</a>:</h4>
<p>but we have to figure out how to make our triage process etc accommodate that</p>



<a name="156380560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380560">(Jan 18 2019 at 16:27)</a>:</h4>
<p>Right now RLS is just about the orchestration - calls and inspects Cargo with appropriate options, then collects the rustc-emitted data and it serves that</p>



<a name="156380607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380607">(Jan 18 2019 at 16:27)</a>:</h4>
<p>where the collection and indexing is mostly about being able to cross-reference definitions across multiple different crate 'compilation sessions', so maybe if we could revisit that then it's totally doable to make it act as a bare server serving the compiler knowledge</p>



<a name="156380676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380676">(Jan 18 2019 at 16:28)</a>:</h4>
<p>(which basically means I'm all for moving most of the actual bits into rustc, yeah :p)</p>



<a name="156380689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380689">(Jan 18 2019 at 16:28)</a>:</h4>
<p>=)</p>



<a name="156380729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380729">(Jan 18 2019 at 16:29)</a>:</h4>
<p>but I think it doesn't mean pruning <code>librustc_save_analysis</code> - it'd be good to think about how we can support dumping all the knowledge data for code indexers such as sourcegraph or searchfox</p>



<a name="156380816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380816">(Jan 18 2019 at 16:30)</a>:</h4>
<p>+1 here. "rust code index file format" is probably a good question to ask</p>



<a name="156380818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380818">(Jan 18 2019 at 16:30)</a>:</h4>
<p>(I guess that overlaps very much with rustdoc as well?)</p>



<a name="156380832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380832">(Jan 18 2019 at 16:31)</a>:</h4>
<p>batch processing a crate and dumping info is useful for two scenarios</p>



<a name="156380852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380852">(Jan 18 2019 at 16:31)</a>:</h4>
<p>actually, I've been talking with <span class="user-mention" data-user-id="116109">@Vytautas Astrauskas</span> about a related concept</p>



<a name="156380857"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380857" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380857">(Jan 18 2019 at 16:31)</a>:</h4>
<p>I owe them an email back</p>



<a name="156380866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380866">(Jan 18 2019 at 16:31)</a>:</h4>
<p>they've got a kind of "rust-query-language" project they've been tinkering with at ETH</p>



<a name="156380872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380872">(Jan 18 2019 at 16:31)</a>:</h4>
<ul>
<li>external tools which are not interactive (rustdoc, cargo-src, sourcegraph)</li>
<li>speeding up IDE for crates which never change.</li>
</ul>



<a name="156380876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380876">(Jan 18 2019 at 16:31)</a>:</h4>
<p>similar to <a href="http://smallcultfollowing.com/babysteps/blog/2017/02/17/project-idea-datalog-output-from-rustc/" target="_blank" title="http://smallcultfollowing.com/babysteps/blog/2017/02/17/project-idea-datalog-output-from-rustc/">the idea from this blog post of mine</a></p>



<a name="156380881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> QuietMisdreavus <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380881">(Jan 18 2019 at 16:31)</a>:</h4>
<p>(semi-related, i've proposed at some point extending save-analysis or something like it to act like a rustdoc JSON output)</p>



<a name="156380883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380883">(Jan 18 2019 at 16:31)</a>:</h4>
<p>I suspect it could serve as the basis for that sort of thing</p>



<a name="156380959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156380959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156380959">(Jan 18 2019 at 16:32)</a>:</h4>
<p>It seems we have more to talk about that we'll probably wind up getting time to do so =) That's good, though.</p>



<a name="156381008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381008">(Jan 18 2019 at 16:33)</a>:</h4>
<p>always the case</p>



<a name="156381096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381096">(Jan 18 2019 at 16:34)</a>:</h4>
<p>Yeah. Are there actually any specific bits we want to discuss in <strong>this</strong> meeting?</p>
<p>I guess:</p>
<ul>
<li>we've compiled a list of "interesting questions to ask"</li>
<li>we've decided to do offline reviews. </li>
</ul>
<p>Do want to talk about smt else?</p>



<a name="156381144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381144">(Jan 18 2019 at 16:35)</a>:</h4>
<p>Perhaps we can dig into a couple of "questions", just to talk them through a bit?</p>
<p>I think "what are the inputs" and "how to do name resolution \w macros" are discussion worthy</p>



<a name="156381166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381166">(Jan 18 2019 at 16:35)</a>:</h4>
<p>and we've talked about the second one ("hope the stupid solution will be just fast enough :D")</p>



<a name="156381235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381235">(Jan 18 2019 at 16:36)</a>:</h4>
<p>I've got to run in a bit</p>



<a name="156381244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381244">(Jan 18 2019 at 16:36)</a>:</h4>
<p>but feel free to log thoughts here and I will read them async</p>



<a name="156381262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381262">(Jan 18 2019 at 16:36)</a>:</h4>
<p>Hm, how about we put off now, do the doc overview and come back for another meeting <em>before</em> AH but <em>after</em> looking at the designs?</p>



<a name="156381270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381270">(Jan 18 2019 at 16:36)</a>:</h4>
<p>excellent idea!</p>



<a name="156381274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381274">(Jan 18 2019 at 16:36)</a>:</h4>
<p>Maybe that'll make us come up with more questions or crystallize some concepts further</p>



<a name="156381364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381364">(Jan 18 2019 at 16:38)</a>:</h4>
<p><span class="emoji emoji-1f44b" title="wave">:wave:</span> then I guess? :) I feel today's meetings were super-productive. I am excited :-)</p>



<a name="156381390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381390">(Jan 18 2019 at 16:38)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@Aleksey Kladov</span> btw, I was just talking to <span class="user-mention" data-user-id="132906">@Jonathan Turner</span> about maybe preparing a bit of a discussion about some of the things we did in Lark (some of which are relevant and probably slightly different from what rust-analyzer is doing), and they suggested that maybe I should do a salsa presentation, kind of discussing what it is, how it works, etc. I think I may do that, which would perhaps be useful to you so you can just kind of "reference it" (I imagine it's a bit below the abstraction level anyway)</p>



<a name="156381393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381393">(Jan 18 2019 at 16:38)</a>:</h4>
<blockquote>
<p>then I guess? :) I feel today's meetings were super-productive. I am excited :-)</p>
</blockquote>
<p>me too!</p>



<a name="156381445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381445">(Jan 18 2019 at 16:39)</a>:</h4>
<p>Yep, having a "salsa book/video" to point to would be useful :)</p>



<a name="156381464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381464">(Jan 18 2019 at 16:39)</a>:</h4>
<p>Sounds interesting!</p>



<a name="156381524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381524">(Jan 18 2019 at 16:40)</a>:</h4>
<p>Maybe this year will be the year of Rust IDE <span class="emoji emoji-1f606" title="laughing">:laughing:</span></p>



<a name="156381563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381563">(Jan 18 2019 at 16:41)</a>:</h4>
<p>It's definitely more than a year's worth of work =) A "пятилетка" of Rust IDEs?</p>



<a name="156381590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381590">(Jan 18 2019 at 16:41)</a>:</h4>
<p>"pljatiletka"?</p>



<a name="156381602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> QuietMisdreavus <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381602">(Jan 18 2019 at 16:42)</a>:</h4>
<p>a five year plan? <span class="emoji emoji-1f914" title="thinking">:thinking:</span></p>



<a name="156381680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381680">(Jan 18 2019 at 16:42)</a>:</h4>
<p><a href="https://en.wikipedia.org/wiki/Five-year_plans_for_the_national_economy_of_the_Soviet_Union" target="_blank" title="https://en.wikipedia.org/wiki/Five-year_plans_for_the_national_economy_of_the_Soviet_Union">https://en.wikipedia.org/wiki/Five-year_plans_for_the_national_economy_of_the_Soviet_Union</a></p>



<a name="156381689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381689">(Jan 18 2019 at 16:42)</a>:</h4>
<p>FWIW I'm also super excited <span class="emoji emoji-1f4aa" title="muscle">:muscle:</span></p>



<a name="156381694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonathan Turner <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381694">(Jan 18 2019 at 16:43)</a>:</h4>
<p>--A wild <span class="user-mention" data-user-id="132906">@Jonathan Turner</span> appears--</p>



<a name="156381705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381705">(Jan 18 2019 at 16:43)</a>:</h4>
<p>aah, right</p>



<a name="156381740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381740">(Jan 18 2019 at 16:43)</a>:</h4>
<p>I guess I'm slowly exchanging history (or anything, really) with software development knowledge <span class="emoji emoji-1f622" title="cry">:cry:</span></p>



<a name="156381741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonathan Turner <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381741">(Jan 18 2019 at 16:43)</a>:</h4>
<blockquote>
<p>a five year plan? <span class="emoji emoji-1f914" title="thinking">:thinking:</span></p>
</blockquote>
<p>I think that's a really good idea... at least have a feeling for where things should be in 3-5 years</p>



<a name="156381847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381847">(Jan 18 2019 at 16:45)</a>:</h4>
<p>Gotta run, thanks for the meeting and I guess we'll be in touch with the docs and a quick second meeting before AH <span class="emoji emoji-1f44b" title="wave">:wave:</span></p>



<a name="156381939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156381939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156381939">(Jan 18 2019 at 16:46)</a>:</h4>
<p><span class="user-mention" data-user-id="132906">@Jonathan Turner</span> you may also be interested in the <a href="#narrow/stream/131828-t-compiler/topic/steering.20meeting.202019-01-17" title="#narrow/stream/131828-t-compiler/topic/steering.20meeting.202019-01-17">steering meeting notes from today</a>; I plan to write a summary eventually of course</p>



<a name="156383080"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156383080" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156383080">(Jan 18 2019 at 17:02)</a>:</h4>
<blockquote>
<p>they've got a kind of "rust-query-language" project they've been tinkering with at ETH</p>
</blockquote>
<p><span class="user-mention" data-user-id="153740">@Igor Matuszewski</span> That is the same thing I mentioned to you in Rust Fest Rome. The current prototype cannot do much yet, but we are looking for a master student to work on this. If you would like to know more or have any ideas how this could be useful for you, feel free to ping me.</p>



<a name="156481356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156481356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156481356">(Jan 20 2019 at 13:15)</a>:</h4>
<p>A draft of rust-analyzer guide is up: <a href="https://github.com/rust-analyzer/rust-analyzer/pull/578" target="_blank" title="https://github.com/rust-analyzer/rust-analyzer/pull/578">https://github.com/rust-analyzer/rust-analyzer/pull/578</a></p>



<a name="156488745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156488745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156488745">(Jan 20 2019 at 16:55)</a>:</h4>
<p>and a video version: <a href="https://www.youtube.com/watch?v=ANKBNiSWyfc" target="_blank" title="https://www.youtube.com/watch?v=ANKBNiSWyfc">https://www.youtube.com/watch?v=ANKBNiSWyfc</a></p>
<div class="youtube-video message_inline_image"><a data-id="ANKBNiSWyfc" href="https://www.youtube.com/watch?v=ANKBNiSWyfc" target="_blank" title="https://www.youtube.com/watch?v=ANKBNiSWyfc"><img src="https://i.ytimg.com/vi/ANKBNiSWyfc/default.jpg"></a></div>



<a name="156515360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156515360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156515360">(Jan 21 2019 at 05:50)</a>:</h4>
<p>Was rereading rls IDE and came across a very interesting comment: <a href="https://github.com/rust-lang/rfcs/pull/1317#issuecomment-150965895" target="_blank" title="https://github.com/rust-lang/rfcs/pull/1317#issuecomment-150965895">https://github.com/rust-lang/rfcs/pull/1317#issuecomment-150965895</a></p>
<p>That’s the same things I’ve learned when building IntelliJ Rust, including the algorithm for find references</p>



<a name="156763208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/ide%20design%20meeting/near/156763208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Igor Matuszewski <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/ide.20design.20meeting.html#156763208">(Jan 24 2019 at 10:38)</a>:</h4>
<p>Also a draft for the current RLS architecture doc: <a href="https://github.com/rust-lang/rls/pull/1257" target="_blank" title="https://github.com/rust-lang/rls/pull/1257">https://github.com/rust-lang/rls/pull/1257</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>